﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIGEB.Modelo.moduloTipoDocumentos
{
    public class condicion_Rango_Fecha2:condicion
    {
        #region "constructores"

        public condicion_Rango_Fecha2(atributo actual, atributo limite, int operador)
            : base(actual)
        {
            this.actual = actual;
            this.limite = limite;
            this.operador = operador;
            this.tipo = 5;
        }

        #endregion

        #region "metodos"
        public override bool valido()
        {

            DateTime _actual;
            try
            {
                _actual = DateTime.Parse(actual.valorCampo);
            }
            catch (Exception)
            {
                return false;
            }
            DateTime _limite;

            try
            {
                _limite = DateTime.Parse(limite.valorCampo);
            }
            catch (Exception)
            {
                return false;
            }
            switch (operador)
            {
                case 1:
                    return _actual == _limite;
                case 2:
                    return _actual != _limite;
                case 3:
                    return _actual > _limite;
                case 4:
                    return _actual < _limite;
                case 5:
                    return _actual >= _limite;
                case 6:
                    return _actual <= _limite;
                default:
                    throw new Exception("Operador inválido");
            }

        }
        #endregion

        #region "atributos"

        private atributo actual;
        private atributo limite;
        private int operador;

        #endregion
    }
}
